package com.yuzhi.master.drainAlarmRule.domain;

import lombok.AllArgsConstructor;
import lombok.Getter;

@Getter
@AllArgsConstructor
public enum OperatorEnum {
    GTE(">="),   // 大于等于
    GT(">"),     // 大于
    EQ("="),     // 等于
    LT("<"),     // 小于
    LTE("<=");   // 小于等于

    private final String symbol;

    /**
     * 前端枚举值 -> 符号（存数据库）
     */
    public static String toSymbol(String code) {
        if (code == null) {
            return null;
        }
        for (OperatorEnum e : OperatorEnum.values()) {
            if (e.name().equalsIgnoreCase(code)) {
                return e.getSymbol();
            }
        }
        throw new IllegalArgumentException("不支持的运算符: " + code);
    }

    /**
     * 符号 -> 前端枚举值（查库返回前端时）
     */
    public static String toCode(String symbol) {
        if (symbol == null) {
            return null;
        }
        for (OperatorEnum e : OperatorEnum.values()) {
            if (e.getSymbol().equals(symbol)) {
                return e.name();
            }
        }
        throw new IllegalArgumentException("不支持的运算符符号: " + symbol);
    }
}
